// async function async1() {
//   console.log('async1 start')
//   await async2()
//   console.log('async1 end')
// }

// function async2() {
//   console.log('async2')
// }

// console.log('script start')
// setTimeout(function () {
//   console.log('setTimeout')
// }, 0)

// async1()

// new Promise(function (resolve) {
//   console.log('promise1')
//   resolve()
// }).then(function () {
//   console.log('promise2')
// })

// console.log('script end')

const p1 = new Promise((resolve, reject) => {
  resolve('hello');
})
.then(result => result)
.catch(e => e);

const p2 = new Promise((resolve, reject) => {
  throw new Error('报错了');
})
.then(result => result)
.catch(e => e);

Promise.all([p1, p2])
.then(result => console.log(result))
  .catch(e => console.log(e));


